package cn.javabb.common.utils;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;

public class DateUtil {

	public static Date getDateByString(String time) {
		Date date = null;
		if (time == null) {
			return date;
		}

		String pattern = "yyyy-MM-dd HH:mm:ss";
		String pattern1 = "EEE MMM d HH:mm:ss 'CST' yyyy";
		SimpleDateFormat format = new SimpleDateFormat(pattern1, Locale.ENGLISH);
		try {

			date = format.parse(time);
		} catch (ParseException e) {
			e.printStackTrace();
		}
		return date;
	}

	public static String getShortTime(String time) {
		String shortString = null;
		long now = Calendar.getInstance().getTimeInMillis();
		Date date = getDateByString(time);
		if (date == null) {
			return shortString;
		}
		long delTime = (now - date.getTime()) / 1000;
		if (delTime > 365 * 24 * 60 * 60) {
			shortString = (int) (delTime / (365 * 24 * 60 * 60)) + "年前";
		} else if (delTime > 24 * 60 * 60) {
			shortString = (int) (delTime / (24 * 60 * 60)) + "天前";
		} else if (delTime > 60 * 60) {
			shortString = (int) (delTime / (60 * 60)) + "小时前";
		} else if (delTime > 60) {
			shortString = (int) (delTime / (60)) + "分前";
		} else if (delTime > 1) {
			shortString = delTime + "秒前";
		} else {
			shortString = "1秒前";
		}
		return shortString;
	}
	public static String getShortTime(Date datetime) {
		String shortString = null;
		long now = Calendar.getInstance().getTimeInMillis();
		if (datetime == null) {
			return shortString;
		}
		long delTime = (now - datetime.getTime()) / 1000;
		if (delTime > 365 * 24 * 60 * 60) {
			shortString = (int) (delTime / (365 * 24 * 60 * 60)) + "年前";
		} else if (delTime > 24 * 60 * 60) {
			shortString = (int) (delTime / (24 * 60 * 60)) + "天前";
		} else if (delTime > 60 * 60) {
			shortString = (int) (delTime / (60 * 60)) + "小时前";
		} else if (delTime > 60) {
			shortString = (int) (delTime / (60)) + "分前";
		} else if (delTime > 1) {
			shortString = delTime + "秒前";
		} else {
			shortString = "1秒前";
		}
		return shortString;
	}
	
	public static void main(String[] args) {
		System.out.println(getShortTime(new Date()));
	}
}
